<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>类中使用</title>
</head>
<body>
    <script src="../js/promiseAjax.js"></script>
    <script>

        /*
        //和promise一样,await也可以操作thenables对象
        //包含then方法的类也是promise对象
        class User{
            constructor(name){
                this.name = name;
            }
            then(resolve,reject){
                let user = Ajax(`http://localhost:8888/promise/php/user.php?name=${this.name}`);
                resolve(user);
            }
        }

        async function get(){
            //包含then方法的类也是一种promise 也可以直接使用await来获取内容
            //await会等待promise执行完毕之后才会继续向下执行，否则就reutrn false
            let user = await new User("向军");
            console.log(user);
        }
        get();
        */

        //类方法可以通过async与await来操作promise
        class User{
            constructor(){}
            async get(name){
                //promise执行先执行主观任务,所以先执行user.name+= '-houdunren.com' 然后执行请求
                //那么在这个时候user里面有name，那么就相当于user.name+='-houdunren.com'没有执行
                //想要执行，就要使用同步的方式
                let user = await Ajax(`http://localhost:8888/promise/php/user.php?name=${name}`);
                user.name += "-houdunren.com";
                return user;
            }
        }

        new User().get("向军").then(resolve => {
            console.log(resolve);
        });




    </script>
</body>
</html>